[C] Decimal -> Binario
Publicado por Enzo de Brito Ferber 05/04/2006
[ Hits: 7.872 ]
Homepage: http://www.maximasonorizacao.com.br
Programa que converte numeros decimais em binario usando operadores bit-bit padrões do C.
Muito bom para se entender operadores bit-bit e conversao de numeros...
/* * Programa: Binário * Arquivo: binario.c * Autor: Enzo Ferber 'Slackware_10' */ #include <stdio.h> #include <string.h> #include <stdlib.h> #define FLUSH __fpurge(stdin); //fflush(stdin) em sistemas windows int converter(int num){ printf("%d", (num & 0x80) / 0x80); //bit 7 printf("%d", (num & 0x40) / 0x40); //bit 6 printf("%d", (num & 0x20) / 0x20); //bit 5 printf("%d", (num & 0x10) / 0x10); //bit 4 printf("%d", (num & 0x08) / 0x08); //bit 3 printf("%d", (num & 0x04) / 0x04); //bit 2 printf("%d", (num & 0x02) / 0x02); //bit 1 printf("%d", (num & 0x01) / 0x01); //bit 0 /* Quando ha uma coversao decimal->binario, o bit 7 vem em * primeiro lugar, e o 0 em ultimo. * Exemplo: Converter 65 (A) em binario * 65 | 2 (resto 1) bit 0 * 32 | 2 (resto 0) bit 1 * 16 | 2 (resto 0) bit 2 * ... * Depois se inverte os bits: * B = bit * B7 B6 B5 B4 B3 B2 B1 B0 */ } int main(void){ int num; while(1){ system("clear"); //cls em sistemas windows printf("Numero a converter: "); FLUSH scanf("%d", &num); if(num == -1) break; //garante um loop nao infinito converter(num); FLUSH getchar(); } return 0; }
Regra de Horner para cálculo do polinômio
Alocando espaço para uma matriz dinamicamente
Converçor de Decimal para Binario
Simulador do Sorteio da Mega Sena
Nenhum comentário foi encontrado.
Intel corta Vulkan do oneAPI Construction Kit 5.0
Kernel 6.18 em foco, betas fervilhando e avanços em IA no Linux
O que é o THP na configuração de RAM do Linux e quando desabilitá-lo
Comparação entre os escalonadores BFQ e MQ-Deadline (acesso a disco) no Arch e Debian
Adicionando o repositório backports no Debian 13 Trixie
Como definir um IP estático no Linux Debian
Como instalar Counter-Strike 1.6? (2)
intervenção politica pode interver no Fedora Linux [RESOLVIDO] (12)